home *** CD-ROM | disk | FTP | other *** search
/ VisualFX for ImageFX / VisualFX for Image FX 2.adf / Files / ARexx / 02 / 11.rexx < prev    next >
Encoding:
OS/2 REXX Batch file  |  1996-02-04  |  5.1 KB  |  253 lines

  1. /*
  2.                           Visual FX Arexx Script
  3.                            Written By J.L. White
  4.                          (C)1997 Merlin's Software
  5. */
  6.  
  7. Options Results
  8. address "IMAGEFX.1"
  9. ScreenToFront
  10. Undo Off
  11. if exists("libs:flyer.library") then do
  12.     TOASTERLIB="ToasterARexx.port"
  13.     call remlib('ToasterARexx.port')
  14.     call remlib('PROJECT_REXX_PORT')
  15.     call addlib('PROJECT_REXX_PORT' , 0)
  16.     call addlib(TOASTERLIB,0)
  17.     end
  18. call Settings()
  19. call open TempFile,"VFXIFX:TempDrawer/"FXNum".txt",R
  20. line = readln(TempFile)
  21. CutFade = strip(line)
  22. call close (TempFile)
  23. j=0
  24. TFrames = Frames
  25. if Field = 1 then TFrames = Frames*2
  26. do i = 1 to Frames
  27.     call open TempFile,"RAM:VFXNums",W
  28.     call writeln TempFile,right(i,5,'0')
  29.     call writeln TempFile,right(Frames,5,'0')
  30.     call close TempFile
  31.     f=0
  32.     Redraw Off
  33.     FieldSet = 0
  34.     if Padding ~= -1 & i = 1 then call PadIt(1)
  35.     call LoadB()
  36.     call LoadA()
  37.     j = j+ 1
  38.     call DoIt()
  39.     Redraw On
  40.     call SaveIt()
  41.         if Field = 1 then do
  42.             Redraw Off
  43.             FieldSet = 1
  44.             call LoadB()
  45.             call LoadA()
  46.             j = j + 1
  47.             call DoIt()
  48.             Redraw On
  49.             call SaveIt()
  50.             end 
  51.     if Padding ~= -1 & i = Frames then call PadIt(2)
  52.     end
  53.     if SaveType = 0 then do
  54.         if Padding = -1 then
  55.             call MakeIcon(SaveName,(Frames-10))
  56.         else
  57.             call MakeIcon(SaveName,(Padding+(Frames-10)))
  58.         end
  59.     Undo On
  60. exit
  61.  
  62.  
  63. PadIt:
  64. arg PadNum
  65.     if (POS('FLY_1',SHOW('Ports')) = 0) then do
  66.         Undo On
  67.         exit
  68.         end
  69.          if PadNum = 1 then do
  70.        if IAType = 0 then do
  71.         do Pad = Padding to 1 by -1
  72.             LoadBuffer PicAName Force StartA-(Pad-1)
  73.             call Switcher(TOSW)
  74.             call Switcher(MDV1)
  75.             Render Go
  76.                 call RecordAdd(SaveName,2,6,Compression)
  77.             end
  78.         end
  79.        if IAType = 1 then do
  80.         LoadBuffer PicAName Force 1
  81.         call Switcher(TOSW)
  82.         call Switcher(MDV1)
  83.         Render Go
  84.             call RecordAdd(SaveName,2*Padding,6,Compression)
  85.         end
  86.        if IAType = 2 then do
  87.         LoadBuffer PicAName Force
  88.         call Switcher(TOSW)
  89.         call Switcher(MDV1)
  90.         Render Go
  91.             call RecordAdd(SaveName,2*Padding,6,Compression)
  92.         end
  93.        if IAType = 3 then do
  94.         do Pad = Padding to 1 by -1
  95.             LoadBuffer PicAName""right(StartA-(Pad-1),3,'0') Force
  96.             call Switcher(TOSW)
  97.             call Switcher(MDV1)
  98.             Render Go
  99.                 call RecordAdd(SaveName,2,6,Compression)
  100.             end
  101.         end
  102.     end 
  103.     else do
  104.        if IBType = 0 then do
  105.         do Pad = 1 to Padding
  106.             LoadBuffer PicBName Force StartB+Pad+Frames
  107.             call Switcher(TOSW)
  108.             call Switcher(MDV1)
  109.             Render Go
  110.                 call RecordAdd(SaveName,2,6,Compression)
  111.             end
  112.         end
  113.        if IBType = 1 then do
  114.         LoadBuffer PicBName Force 1
  115.         call Switcher(TOSW)
  116.         call Switcher(MDV1)
  117.         Render Go
  118.             call RecordAdd(SaveName,2*Padding,6,Compression)
  119.         end
  120.        if IBType = 2 then do
  121.         LoadBuffer PicBName Force
  122.         call Switcher(TOSW)
  123.         call Switcher(MDV1)
  124.         Render Go
  125.             call RecordAdd(SaveName,2*Padding,6,Compression)
  126.         end
  127.        if IBType = 3 then do
  128.         do Pad = 1 to Padding
  129.             LoadBuffer PicBName""right(StartB+Pad+Frames),3,'0') Force
  130.             call Switcher(TOSW)
  131.             call Switcher(MDV1)
  132.             Render Go
  133.                 call RecordAdd(SaveName,2,6,Compression)
  134.             end
  135.         end
  136.     end
  137. return
  138.  
  139. LoadA:
  140.     if (POS('FLY_1',SHOW('Ports')) = 0) then do
  141.         Undo On
  142.         exit
  143.         end
  144.     if j = TFrames then return
  145.     if IAType = 0 then do
  146.         LoadBuffer PicAName Force i+StartA
  147.         end
  148.     if IAType = 1 then do
  149.         LoadBuffer PicAName Force 1
  150.         end
  151.     if IAType = 2 then do
  152.         LoadBuffer PicAName Force
  153.         end
  154.     if IAType = 3 then do
  155.         LoadBuffer PicAName""right(i+StartA,3,'0') Force
  156.         end
  157.  
  158. return
  159.  
  160. LoadB:
  161.     if (POS('FLY_1',SHOW('Ports')) = 0) then do
  162.         Undo On
  163.         exit
  164.         end
  165.     if j = 1 then return
  166.     if IBType = 0 then do
  167.         LoadBuffer PicBName Force i+StartB
  168.         end
  169.     if IBType = 1 then do
  170.         LoadBuffer PicBName Force 1
  171.         end
  172.     if IBType = 2 then do
  173.         LoadBuffer PicBName Force
  174.         end
  175.     if IBType = 3 then do
  176.         LoadBuffer PicBName""right(i+StartB,3,'0') Force
  177.         end
  178.     Swap
  179. return
  180.  
  181.  
  182. DoIt:
  183.     if (POS('FLY_1',SHOW('Ports')) = 0) then do
  184.         Undo On
  185.         exit
  186.         end
  187.     if j = TFrames then do
  188.         Swap
  189.         return
  190.         end
  191.     if j = 1 then return
  192.  
  193.     Num = (((j-1) * 100)/(TFrames-1))
  194.     Num = trunc(Num)
  195.     if CutFade = 1 then do
  196.         Hook Composite MERGE Num 1 0 0 MatchMain SwapScale
  197.         end
  198.     if j > (TFrames/2) then do
  199.         if CutFade = 0 then Swap
  200.         end
  201.  
  202.     MainNum = 240
  203.     NewNum = ((j-1)*MainNum)/((TFrames/2)-1)
  204.     if j > (TFrames/2) then
  205.         NewNum = ((MainNum -(((j-1) * MainNum)/(TFrames-1)))%1)*2
  206.     NewNum = trunc(NewNum)
  207.  
  208.  
  209.     Hook Perspective '0' '0' '0' '0' '0' NewNum '0' '0' 0 -1 -1 0 Black AntiAlias
  210. return
  211.  
  212. SaveIt:
  213.     if (POS('FLY_1',SHOW('Ports')) = 0) then do
  214.         Undo On
  215.         exit
  216.         end
  217.     if SaveType = 0 then do
  218.         call Switcher(TOSW)
  219.         call Switcher(MDV1)
  220.  
  221.         Render Go
  222.         if Field = 1 then
  223.                 call RecordAdd(SaveName,1,6,Compression)
  224.         else
  225.                 call RecordAdd(SaveName,2,6,Compression)
  226.         end
  227.  
  228.     if SaveType = 1 then do
  229.         if Field = 1 then do
  230.             f= f + 1
  231.             if f = 1 then
  232.                 SaveBufferAs ILBM "VFXIFX:TempDrawer/PicA"
  233.             if f = 2 then do
  234.                 GetMain
  235.                 parse var result Name Width Height Blah
  236.                 Scale Width Height/2
  237.                 Swap
  238.                 LoadBuffer "VFXIFX:TempDrawer/PicA" Force
  239.                 Scale Width Height/2
  240.                 Hook Interlace
  241.                 SaveBufferAs ILBM SaveName""right(i,3,'0')
  242.                 f = 0
  243.                 end
  244.             end
  245.         else do
  246.             SaveBufferAs ILBM SaveName""right(i,3,'0')
  247.             end    
  248.         end
  249.  
  250. return
  251.  
  252.  
  253.